home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / gnustuff / tos / othergnu / gmp.zoo / Makefile.st < prev   
Encoding:
Makefile  |  1992-01-15  |  13.1 KB  |  273 lines

  1. # Makefile for GNU MP (a.k.a. biGNUm) an the atariST
  2. # Copyright (C) 1991 Free Software Foundation, Inc.
  3.  
  4. # This file is part of the GNU MP Library.
  5.  
  6. # The GNU MP Library is free software; you can redistribute it and/or modify
  7. # it under the terms of the GNU General Public License as published by
  8. # the Free Software Foundation; either version 2, or (at your option)
  9. # any later version.
  10.  
  11. # The GNU MP Library is distributed in the hope that it will be useful,
  12. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. # GNU General Public License for more details.
  15.  
  16. # You should have received a copy of the GNU General Public License
  17. # along with the GNU MP Library; see the file COPYING.  If not, write to
  18. # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  19.  
  20. CROSSDIR = /net/acae127/home/bammi/atari/cross-gcc
  21. CROSSBIN = $(CROSSDIR)/bin
  22. CROSSLIB = $(CROSSDIR)/lib
  23. CROSSINC = $(CROSSDIR)/include
  24.  
  25. CC = cgcc
  26.  
  27. # If you cross compile on a machine with the same sizes of the integral
  28. # types ("int", "long int", "short int", and "char") define this as the
  29. # local compiler.  Otherwise, you need look for the uses of LOCAL_CC below,
  30. # and handle those cases manually.
  31. LOCAL_CC = gcc
  32. LOCAL_CFLAGS = -O
  33. OPT = -O
  34. CFLAGS = -D__mc68000__=1 -I. $(OPT)
  35. AR = car
  36.  
  37. SRCS = $(MPZ_SRCS) $(MPQ_SRCS) $(BSDMP_SRCS) $(MPN_SRCS) $(IMPL_SRCS)
  38. OBJS = $(MPZ_OBJS) $(MPQ_OBJS) $(BSDMP_OBJS) $(MPN_OBJS) $(IMPL_OBJS)
  39.  
  40. MP_OBJS = $(BSDMP_OBJS) $(MPN_OBJS) $(IMPL_OBJS) mp_bases.o
  41. GMP_OBJS = $(MPZ_OBJS) $(MPQ_OBJS) $(MPN_OBJS) $(IMPL_OBJS) mp_bases.o
  42.  
  43. IMPL_SRCS = memory.c mp_set_fns.c _mpz_set_str.c _mpz_get_str.c \
  44.   mpz_do_sqrt.c mpz_realloc.c mp_clz_tab.c
  45. IMPL_OBJS = memory.o mp_set_fns.o _mpz_set_str.o _mpz_get_str.o \
  46.   mpz_do_sqrt.o mpz_realloc.o mp_clz_tab.o
  47.  
  48. MPZ_SRCS = mpz_init.c mpz_set.c mpz_set_ui.c mpz_set_si.c mpz_set_str.c \
  49.   mpz_iset.c mpz_iset_ui.c mpz_iset_si.c mpz_iset_str.c mpz_clear.c \
  50.   mpz_get_ui.c mpz_get_str.c mpz_size.c mpz_sizeinb.c \
  51.   mpz_add.c mpz_add_ui.c mpz_sub.c mpz_sub_ui.c mpz_mul.c mpz_mul_ui.c \
  52.   mpz_div.c mpz_div_ui.c mpz_mod.c mpz_mod_ui.c mpz_dm.c mpz_dm_ui.c \
  53.   mpz_mdiv.c mpz_mmod.c mpz_mdm.c mpz_mdiv_ui.c mpz_mmod_ui.c mpz_mdm_ui.c \
  54.   mpz_gcd.c mpz_gcdext.c mpz_sqrt.c mpz_sqrtrem.c mpz_powm.c mpz_powm_ui.c \
  55.   mpz_cmp.c mpz_cmp_ui.c mpz_cmp_si.c mpz_mul_2exp.c mpz_div_2exp.c \
  56.   mpz_mod_2exp.c mpz_abs.c mpz_neg.c mpz_com.c mpz_and.c mpz_ior.c \
  57.   mpz_inp_raw.c mpz_inp_str.c mpz_out_raw.c mpz_out_str.c \
  58.   mpz_perfsqr.c mpz_random.c mpz_pow_ui.c \
  59.   mpz_clrbit.c
  60. MPZ_OBJS = mpz_init.o mpz_set.o mpz_set_ui.o mpz_set_si.o mpz_set_str.o \
  61.   mpz_iset.o mpz_iset_ui.o mpz_iset_si.o mpz_iset_str.o mpz_clear.o \
  62.   mpz_get_ui.o mpz_get_str.o mpz_size.o mpz_sizeinb.o \
  63.   mpz_add.o mpz_add_ui.o mpz_sub.o mpz_sub_ui.o mpz_mul.o mpz_mul_ui.o \
  64.   mpz_div.o mpz_div_ui.o mpz_mod.o mpz_mod_ui.o mpz_dm.o mpz_dm_ui.o \
  65.   mpz_mdiv.o mpz_mmod.o mpz_mdm.o mpz_mdiv_ui.o mpz_mmod_ui.o mpz_mdm_ui.o \
  66.   mpz_gcd.o mpz_gcdext.o mpz_sqrt.o mpz_sqrtrem.o mpz_powm.o mpz_powm_ui.o \
  67.   mpz_cmp.o mpz_cmp_ui.o mpz_cmp_si.o mpz_mul_2exp.o mpz_div_2exp.o \
  68.   mpz_mod_2exp.o mpz_abs.o mpz_neg.o mpz_com.o mpz_and.o mpz_ior.o \
  69.   mpz_inp_raw.o mpz_inp_str.o mpz_out_raw.o mpz_out_str.o \
  70.   mpz_perfsqr.o mpz_random.o mpz_pow_ui.o \
  71.   mpz_clrbit.o
  72.  
  73. MPQ_SRCS = mpq_init.c mpq_set.c mpq_set_ui.c mpq_set_si.c \
  74.   mpq_set_num.c mpq_set_den.c mpq_get_num.c mpq_get_den.c \
  75.   mpq_add.c mpq_sub.c mpq_mul.c mpq_div.c \
  76.   mpq_clear.c mpq_cmp.c mpq_inv.c mpq_neg.c
  77. MPQ_OBJS = mpq_init.o mpq_set.o mpq_set_ui.o mpq_set_si.o \
  78.   mpq_set_num.o mpq_set_den.o mpq_get_num.o mpq_get_den.o \
  79.   mpq_add.o mpq_sub.o mpq_mul.o mpq_div.o \
  80.   mpq_clear.o mpq_cmp.o mpq_inv.o mpq_neg.o
  81.  
  82. MPN_SRCS = mpn_add.c mpn_sub.c mpn_cmp.c mpn_mul.c mpn_div.c \
  83.   mpn_lshift.c mpn_rshift.c mpn_rshiftci.c
  84. MPN_OBJS = mpn_add.o mpn_sub.o mpn_cmp.o mpn_mul.o mpn_div.o \
  85.   mpn_lshift.o mpn_rshift.o mpn_rshiftci.o
  86.  
  87. # There are fewer members in the BSDMP_SRCS list that in the BSDMP_OBJS
  88. # list because some of the .c files are created by this Makefile.
  89. BSDMP_SRCS = itom.c mdiv.c move.c mtox.c \
  90.   rpow.c xtom.c msqrt.c sdiv.c mout.c min.c mfree.c
  91. BSDMP_OBJS = gcd.o itom.o madd.o mcmp.o mdiv.o move.o msub.o mtox.o mult.o \
  92.   pow.o rpow.o xtom.o msqrt.o sdiv.o mout.o min.o mfree.o
  93.  
  94. all: gmp.olb mp.olb
  95.  
  96. gmp.olb: $(GMP_OBJS)
  97.     rm -f $@
  98.     $(AR) cr $@ $(GMP_OBJS)
  99.  
  100. # mp.olb depend on gmp.olb, to get around Unix(tm) ar/ranlib concurrency bug.
  101. mp.olb: $(MP_OBJS) gmp.olb
  102.     rm -f $@
  103.     $(AR) cr $@ $(MP_OBJS)
  104.  
  105. mp_bases.c: cre-conv-tab
  106.     cre-conv-tab > tmp-$@
  107.     mv tmp-$@ $@
  108. cre-conv-tab: cre-conv-tab.c longlong.h
  109.     $(LOCAL_CC) $(LOCAL_CFLAGS) `if [ x$(firstword $^) = x ];    \
  110.                    then echo cre-conv-tab.c;        \
  111.                    else echo $(firstword $^); fi` -o $@ -lm
  112.  
  113. gmp-mparam.h: cre-mparam
  114.     cre-mparam > tmp-$@
  115.     mv tmp-$@ $@
  116. cre-mparam: cre-mparam.c gmp.h
  117.     $(LOCAL_CC) $(LOCAL_CFLAGS) `if [ x$(firstword $^) = x ];    \
  118.                    then echo cre-mparam.c;        \
  119.                    else echo $(firstword $^); fi` -o $@
  120.  
  121. # Make some of the Berkeley compatible functions from similar functions
  122. # with the preprocessor.  (This is hairy, but I wan't to use the VPATH
  123. # facility and still be compatible with older make programs.)
  124. gcd.c : mpz_gcd.c mp.h gmp.h gmp-impl.h gmp-mparam.h longlong.h 
  125.     $(CC) $(CFLAGS) -E -DBERKELEY_MP `if [ x$(firstword $^) = x ];    \
  126.                                           then echo mpz_gcd.c;        \
  127.                                           else echo $(firstword $^); fi`\
  128.           | grep -v '^#' > $@
  129. pow.c : mpz_powm.c mp.h gmp.h gmp-impl.h gmp-mparam.h longlong.h 
  130.     $(CC) $(CFLAGS) -E -DBERKELEY_MP `if [ x$(firstword $^) = x ];    \
  131.                                           then echo mpz_powm.c;        \
  132.                                           else echo $(firstword $^); fi`\
  133.           | grep -v '^#' > $@
  134. madd.c : mpz_add.c mp.h gmp.h gmp-impl.h gmp-mparam.h
  135.     $(CC) $(CFLAGS) -E -DBERKELEY_MP `if [ x$(firstword $^) = x ];    \
  136.                                           then echo mpz_add.c;        \
  137.                                           else echo $(firstword $^); fi`\
  138.           | grep -v '^#' > $@
  139. msub.c : mpz_sub.c mp.h gmp.h gmp-impl.h gmp-mparam.h
  140.     $(CC) $(CFLAGS) -E -DBERKELEY_MP `if [ x$(firstword $^) = x ];    \
  141.                                           then echo mpz_sub.c;        \
  142.                                           else echo $(firstword $^); fi`\
  143.           | grep -v '^#' > $@
  144. mult.c : mpz_mul.c mp.h gmp.h gmp-impl.h gmp-mparam.h
  145.     $(CC) $(CFLAGS) -E -DBERKELEY_MP `if [ x$(firstword $^) = x ];    \
  146.                                           then echo mpz_mul.c;        \
  147.                                           else echo $(firstword $^); fi`\
  148.           | grep -v '^#' > $@
  149. mcmp.c : mpz_cmp.c mp.h gmp.h gmp-impl.h gmp-mparam.h
  150.     $(CC) $(CFLAGS) -E -DBERKELEY_MP `if [ x$(firstword $^) = x ];    \
  151.                                           then echo mpz_cmp.c;        \
  152.                                           else echo $(firstword $^); fi`\
  153.           | grep -v '^#' > $@
  154.  
  155. documentation: gmp.dvi gmp.info
  156. gmp.dvi: gmp.texi
  157.     rm -f tmp.texi
  158.     ln gmp.texi tmp.texi
  159.     tex tmp.texi < /dev/null
  160.     texindex tmp.cp tmp.fn
  161.     tex tmp.texi < /dev/null 2> /dev/null
  162.     mv tmp.dvi gmp.dvi
  163. gmp.info: gmp.texi
  164.     makeinfo gmp.texi
  165.  
  166. clean:
  167.     rm -f *.o gmp.olb mp.olb cre-conv-tab cre-mparam cre-stddefh \
  168.  gmp.dvi gmp.info mp_bases.c gmp-mparam.h stamp-stddefh test-with-stddefh.c \
  169.  stddef.h gcd.c pow.c madd.c msub.c mult.c mcmp.c tmp.* tmp-*
  170.  
  171. # Automatically generated dependencies
  172.  
  173. _mpz_get_str.o : _mpz_get_str.c gmp.h gmp-impl.h gmp-mparam.h longlong.h 
  174. _mpz_set_str.o : _mpz_set_str.c gmp.h gmp-impl.h gmp-mparam.h longlong.h 
  175. itom.o : itom.c mp.h gmp.h gmp-impl.h gmp-mparam.h 
  176. mcmp.o : mcmp.c mp.h gmp.h gmp-impl.h gmp-mparam.h 
  177. mdiv.o : mdiv.c mp.h gmp.h gmp-impl.h gmp-mparam.h longlong.h mpz_dmincl.c 
  178. memory.o : memory.c gmp.h gmp-impl.h gmp-mparam.h 
  179. mfree.o : mfree.c mp.h gmp.h gmp-impl.h gmp-mparam.h 
  180. min.o : min.c mp.h gmp.h gmp-impl.h gmp-mparam.h 
  181. mout.o : mout.c mp.h gmp.h gmp-impl.h gmp-mparam.h 
  182. move.o : move.c mp.h gmp.h gmp-impl.h gmp-mparam.h 
  183. mp_clz_tab.o : mp_clz_tab.c gmp.h gmp-impl.h gmp-mparam.h 
  184. mp_set_fns.o : mp_set_fns.c gmp.h gmp-impl.h gmp-mparam.h 
  185. mpn_add.o : mpn_add.c gmp.h gmp-impl.h gmp-mparam.h 
  186. mpn_cmp.o : mpn_cmp.c gmp.h gmp-impl.h gmp-mparam.h 
  187. mpn_div.o : mpn_div.c gmp.h gmp-impl.h gmp-mparam.h longlong.h 
  188. mpn_lshift.o : mpn_lshift.c gmp.h gmp-impl.h gmp-mparam.h 
  189. mpn_mul.o : mpn_mul.c gmp.h gmp-impl.h gmp-mparam.h longlong.h 
  190. mpn_rshift.o : mpn_rshift.c gmp.h gmp-impl.h gmp-mparam.h 
  191. mpn_rshiftci.o : mpn_rshiftci.c gmp.h gmp-impl.h gmp-mparam.h 
  192. mpn_sub.o : mpn_sub.c gmp.h gmp-impl.h gmp-mparam.h 
  193. mpq_add.o : mpq_add.c gmp.h gmp-impl.h gmp-mparam.h 
  194. mpq_clear.o : mpq_clear.c gmp.h gmp-impl.h gmp-mparam.h 
  195. mpq_cmp.o : mpq_cmp.c gmp.h gmp-impl.h gmp-mparam.h 
  196. mpq_div.o : mpq_div.c gmp.h gmp-impl.h gmp-mparam.h 
  197. mpq_get_den.o : mpq_get_den.c gmp.h gmp-impl.h gmp-mparam.h 
  198. mpq_get_num.o : mpq_get_num.c gmp.h gmp-impl.h gmp-mparam.h 
  199. mpq_init.o : mpq_init.c gmp.h gmp-impl.h gmp-mparam.h 
  200. mpq_inv.o : mpq_inv.c gmp.h gmp-impl.h gmp-mparam.h 
  201. mpq_mul.o : mpq_mul.c gmp.h gmp-impl.h gmp-mparam.h 
  202. mpq_neg.o : mpq_neg.c gmp.h gmp-impl.h gmp-mparam.h 
  203. mpq_set.o : mpq_set.c gmp.h gmp-impl.h gmp-mparam.h 
  204. mpq_set_den.o : mpq_set_den.c gmp.h gmp-impl.h gmp-mparam.h 
  205. mpq_set_num.o : mpq_set_num.c gmp.h gmp-impl.h gmp-mparam.h 
  206. mpq_set_si.o : mpq_set_si.c gmp.h gmp-impl.h gmp-mparam.h 
  207. mpq_set_ui.o : mpq_set_ui.c gmp.h gmp-impl.h gmp-mparam.h 
  208. mpq_sub.o : mpq_sub.c gmp.h gmp-impl.h gmp-mparam.h 
  209. mpz_abs.o : mpz_abs.c gmp.h gmp-impl.h gmp-mparam.h 
  210. mpz_add.o : mpz_add.c gmp.h gmp-impl.h gmp-mparam.h 
  211. mpz_add_ui.o : mpz_add_ui.c gmp.h gmp-impl.h gmp-mparam.h 
  212. mpz_and.o : mpz_and.c gmp.h gmp-impl.h gmp-mparam.h 
  213. mpz_clear.o : mpz_clear.c gmp.h gmp-impl.h gmp-mparam.h 
  214. mpz_clrbit.o : mpz_clrbit.c gmp.h gmp-impl.h gmp-mparam.h
  215. mpz_cmp.o : mpz_cmp.c gmp.h gmp-impl.h gmp-mparam.h 
  216. mpz_cmp_si.o : mpz_cmp_si.c gmp.h gmp-impl.h gmp-mparam.h 
  217. mpz_cmp_ui.o : mpz_cmp_ui.c gmp.h gmp-impl.h gmp-mparam.h 
  218. mpz_div.o : mpz_div.c gmp.h gmp-impl.h gmp-mparam.h longlong.h 
  219. mpz_div_2exp.o : mpz_div_2exp.c gmp.h gmp-impl.h gmp-mparam.h 
  220. mpz_div_ui.o : mpz_div_ui.c gmp.h gmp-impl.h gmp-mparam.h longlong.h 
  221. mpz_dm.o : mpz_dm.c gmp.h gmp-impl.h gmp-mparam.h longlong.h mpz_dmincl.c 
  222. mpz_dm_ui.o : mpz_dm_ui.c gmp.h gmp-impl.h gmp-mparam.h longlong.h 
  223. mpz_do_sqrt.o : mpz_do_sqrt.c gmp.h gmp-impl.h gmp-mparam.h longlong.h 
  224. mpz_gcd.o : mpz_gcd.c gmp.h gmp-impl.h gmp-mparam.h longlong.h 
  225. mpz_gcdext.o : mpz_gcdext.c gmp.h gmp-impl.h gmp-mparam.h 
  226. mpz_get_str.o : mpz_get_str.c gmp.h gmp-impl.h gmp-mparam.h 
  227. mpz_get_ui.o : mpz_get_ui.c gmp.h gmp-impl.h gmp-mparam.h 
  228. mpz_init.o : mpz_init.c gmp.h gmp-impl.h gmp-mparam.h 
  229. mpz_inp_raw.o : mpz_inp_raw.c gmp.h gmp-impl.h gmp-mparam.h 
  230. mpz_inp_str.o : mpz_inp_str.c gmp.h gmp-impl.h gmp-mparam.h 
  231. mpz_ior.o : mpz_ior.c gmp.h gmp-impl.h gmp-mparam.h 
  232. mpz_iset.o : mpz_iset.c gmp.h gmp-impl.h gmp-mparam.h 
  233. mpz_iset_si.o : mpz_iset_si.c gmp.h gmp-impl.h gmp-mparam.h 
  234. mpz_iset_str.o : mpz_iset_str.c gmp.h gmp-impl.h gmp-mparam.h 
  235. mpz_iset_ui.o : mpz_iset_ui.c gmp.h gmp-impl.h gmp-mparam.h 
  236. mpz_mdiv.o : mpz_mdiv.c gmp.h gmp-impl.h gmp-mparam.h 
  237. mpz_mdiv_ui.o : mpz_mdiv_ui.c gmp.h gmp-impl.h gmp-mparam.h 
  238. mpz_mdm.o : mpz_mdm.c gmp.h gmp-impl.h gmp-mparam.h 
  239. mpz_mdm_ui.o : mpz_mdm_ui.c gmp.h gmp-impl.h gmp-mparam.h 
  240. mpz_mmod.o : mpz_mmod.c gmp.h gmp-impl.h gmp-mparam.h 
  241. mpz_mmod_ui.o : mpz_mmod_ui.c gmp.h gmp-impl.h gmp-mparam.h 
  242. mpz_mod.o : mpz_mod.c gmp.h gmp-impl.h gmp-mparam.h longlong.h mpz_dmincl.c 
  243. mpz_mod_2exp.o : mpz_mod_2exp.c gmp.h gmp-impl.h gmp-mparam.h 
  244. mpz_mod_ui.o : mpz_mod_ui.c gmp.h gmp-impl.h gmp-mparam.h longlong.h 
  245. mpz_mul.o : mpz_mul.c gmp.h gmp-impl.h gmp-mparam.h 
  246. mpz_mul_2exp.o : mpz_mul_2exp.c gmp.h gmp-impl.h gmp-mparam.h 
  247. mpz_mul_ui.o : mpz_mul_ui.c gmp.h gmp-impl.h gmp-mparam.h longlong.h 
  248. mpz_neg.o : mpz_neg.c gmp.h gmp-impl.h gmp-mparam.h 
  249. mpz_com.o : mpz_com.c gmp.h gmp-impl.h gmp-mparam.h 
  250. mpz_out_raw.o : mpz_out_raw.c gmp.h gmp-impl.h gmp-mparam.h 
  251. mpz_out_str.o : mpz_out_str.c gmp.h gmp-impl.h gmp-mparam.h 
  252. mpz_perfsqr.o : mpz_perfsqr.c gmp.h gmp-impl.h gmp-mparam.h longlong.h 
  253. mpz_pow_ui.o : mpz_pow_ui.c gmp.h gmp-impl.h gmp-mparam.h longlong.h 
  254. mpz_powm.o : mpz_powm.c gmp.h gmp-impl.h gmp-mparam.h longlong.h 
  255. mpz_powm_ui.o : mpz_powm_ui.c gmp.h gmp-impl.h gmp-mparam.h longlong.h 
  256. mpz_random.o : mpz_random.c gmp.h gmp-impl.h gmp-mparam.h 
  257. mpz_realloc.o : mpz_realloc.c gmp.h gmp-impl.h gmp-mparam.h 
  258. mpz_set.o : mpz_set.c gmp.h gmp-impl.h gmp-mparam.h 
  259. mpz_set_si.o : mpz_set_si.c gmp.h gmp-impl.h gmp-mparam.h 
  260. mpz_set_str.o : mpz_set_str.c gmp.h gmp-impl.h gmp-mparam.h longlong.h 
  261. mpz_set_ui.o : mpz_set_ui.c gmp.h gmp-impl.h gmp-mparam.h 
  262. mpz_size.o : mpz_size.c gmp.h gmp-impl.h gmp-mparam.h 
  263. mpz_sizeinb.o : mpz_sizeinb.c gmp.h gmp-impl.h gmp-mparam.h 
  264. mpz_sqrt.o : mpz_sqrt.c gmp.h gmp-impl.h gmp-mparam.h 
  265. mpz_sqrtrem.o : mpz_sqrtrem.c gmp.h gmp-impl.h gmp-mparam.h 
  266. mpz_sub.o : mpz_sub.c gmp.h gmp-impl.h gmp-mparam.h 
  267. mpz_sub_ui.o : mpz_sub_ui.c gmp.h gmp-impl.h gmp-mparam.h 
  268. msqrt.o : msqrt.c mp.h gmp.h gmp-impl.h gmp-mparam.h 
  269. mtox.o : mtox.c mp.h gmp.h gmp-impl.h gmp-mparam.h 
  270. rpow.o : rpow.c mp.h gmp.h gmp-impl.h gmp-mparam.h longlong.h 
  271. sdiv.o : sdiv.c mp.h gmp.h gmp-impl.h gmp-mparam.h longlong.h 
  272. xtom.o : xtom.c mp.h gmp.h gmp-impl.h gmp-mparam.h 
  273.